home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-05-01 | 9.0 KB | 262 lines | [TEXT/MPS ] |
- /*
- File: OCEMessaging.idl
-
- Contains: Apple Open Collaboration Environment Messaging Interfaces.
-
- Version: Technology: AOCE Toolbox 1.02
- Release: Universal Interfaces 3.0d3 on Copland DR1
-
- Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
-
- Bugs?: If you find a problem with this file, send the file and version
- information (from above) and the problem description to:
-
- Internet: apple.bugs@applelink.apple.com
- AppleLink: APPLE.BUGS
-
- */
- #ifndef __OCEMESSAGING_IDL__
- #define __OCEMESSAGING_IDL__
-
- #include <somobj.idl>
- #include <somcls.idl>
-
- #ifndef __FILES_IDL__
- #include <Files.idl>
- #endif
- #ifndef __TYPES_IDL__
- #include <Types.idl>
- #endif
- #ifndef __DIGITALSIGNATURE_IDL__
- #include <DigitalSignature.idl>
- #endif
- #ifndef __OCE_IDL__
- #include <OCE.idl>
- #endif
- #ifndef __OCEAUTHDIR_IDL__
- #include <OCEAuthDir.idl>
- #endif
-
- #ifdef __SOMIDL__
-
- #if FOR_SYSTEM7_ONLY
- /******************************************************************************/
- /*
- Definitions common to OCEMessaging and to OCEMail. These relate to addressing,
- message ids and priorities, etc.
- */
- /* Values of IPMPriority */
- typedef Byte IPMPriority;
-
- /* Values of IPMAccessMode */
- typedef unsigned short IPMAccessMode;
-
- /* Values of IPMNotificationType */
- typedef Byte IPMNotificationType;
-
- /* Values of IPMSenderTag */
- typedef unsigned short IPMSenderTag;
-
- /* Values of OCERecipientOffsetFlags */
- typedef Byte OCERecipientOffsetFlags;
-
- typedef SOMLargeStruct OCECreatorType; /* Derived from a struct of 8 bytes in size */
-
- /* Values of IPMMsgFormat */
- typedef unsigned short IPMMsgFormat;
-
- typedef Str32 IPMStringMsgType;
-
- typedef SOMLargeStruct TheType; /* Derived from a struct of 41 bytes in size */
-
- typedef SOMLargeStruct IPMMsgType; /* Derived from a struct of 36 bytes in size */
-
- /*
- Following are the known extension values for IPM addresses handled by Apple.
- We define the definition of the entn extension below.
- */
- /*
- Following are the specific definitions for the extension for the standard
- OCEMail 'entn' addresses. [Note, the actual extension is formatted as in
- IPMEntityNameExtension.]
- */
- /* entn extension forms */
- /*
- Following are the specific definitions for standard
- OCEMail 'aphn' extension value.
-
- All RStrings here are packed (e.g. truncated to length) and even padded (e.g.
- if length odd, then a pad byte (zero) should be introduced before the next field).
-
- The extension value is in the packed form of the following structure:
- RString phoneNumber;
- RString modemType;
- Str32 queueuName;
-
- The body of phoneNumber compound RString is in the packed form of the following structure:
- short subType;
- RString countryCode; // used when subType == kOCEUseHandyDial
- RString areaCode; // used when subType == kOCEUseHandyDial
- RString phone; // used when subType == kOCEUseHandyDial
- RString postFix; // used when subType == kOCEUseHandyDial
- RString nonHandyDialString; // used when subType == kOCEDontUseHandyDial
- */
- /* phoneNumber sub type constants */
- /* FORMAT OF A PACKED FORM RECIPIENT */
- typedef SOMTwoByteStruct ProtoOCEPackedRecipient; /* Derived from a struct of 2 bytes in size */
-
- typedef SOMLargeStruct OCEPackedRecipient; /* Derived from a struct of 4096 bytes in size */
-
- typedef SOMLargeStruct IPMEntnQueueExtension; /* Derived from a struct of 33 bytes in size */
-
- /* kOCEAttrXtn */
- typedef SOMLargeStruct IPMEntnAttributeExtension; /* Derived from a struct of 36 bytes in size */
-
- /* kOCESpAtXtn */
- typedef SOMLargeStruct IPMEntnSpecificAttributeExtension; /* Derived from a struct of 44 bytes in size */
-
- /* All IPM entn extensions fit within the following */
- typedef SOMLargeStruct IPMEntityNameExtension; /* Derived from a struct of 118 bytes in size */
-
- /* addresses with kIPMNBPXtn should specify this nbp type */
- typedef SOMLargeStruct IPMMsgID; /* Derived from a struct of 16 bytes in size */
-
- /* Values of IPMHeaderSelector */
- typedef Byte IPMHeaderSelector;
-
- typedef SOMLargeStruct TheSender; /* Derived from a struct of 2086 bytes in size */
-
- typedef SOMLargeStruct IPMSender; /* Derived from a struct of 1828 bytes in size */
-
- /******************************************************************************/
- /* Definitions specific to OCEMessaging */
- typedef unsigned long IPMContextRef;
-
- typedef unsigned long IPMQueueRef;
-
- typedef unsigned long IPMMsgRef;
-
- typedef unsigned long IPMSeqNum;
-
- typedef Str32 IPMProcHint;
-
- typedef Str32 IPMQueueName;
-
- typedef OpaquePtr IPMNoteProcPtr;
- typedef OpaquePtr IPMNoteUPP;
- typedef SOMLargeStruct IPMFixedHdrInfo; /* Derived from a struct of 44 bytes in size */
-
- /* standard Non delivery codes */
- /*************************************************************************/
- /*
- This is the structure that will be returned by enumerate and getmsginfo
- This definition is just to give you a template, the position of msgType
- is variable since this is a packed structure. procHint and msgType are
- packed and even length padded.
-
- * master message info
- */
- typedef SOMLargeStruct IPMMsgInfo; /* Derived from a struct of 114 bytes in size */
-
- typedef OCECreatorType IPMBlockType;
-
- typedef SOMLargeStruct IPMTOC; /* Derived from a struct of 20 bytes in size */
-
- /*
- The following structure is just to describe the layout of the SingleFilter.
- Each field should be packed and word aligned when passed to the IPM ToolBox.
- */
- typedef SOMLargeStruct IPMSingleFilter; /* Derived from a struct of 78 bytes in size */
-
- typedef SOMLargeStruct IPMFilter; /* Derived from a struct of 80 bytes in size */
-
- /*
- ************************************************************************
- Following structures define the “start” of a recipient report block and the
- elements of the array respectively.
- */
- typedef SOMLargeStruct IPMReportBlockHeader; /* Derived from a struct of 20 bytes in size */
-
- typedef SOMFourByteStruct OCERecipientReport; /* Derived from a struct of 4 bytes in size */
-
- /*************************************************************************/
-
-
- typedef OpaquePtr IPMParamBlockPtr; /* Substituted OpaquePtr for “IPMParamBlock*” */
-
- typedef OpaquePtr IPMIOCompletionProcPtr;
- typedef OpaquePtr IPMIOCompletionUPP;
- typedef SOMLargeStruct IPMOpenContextPB; /* Derived from a struct of 28 bytes in size */
-
- typedef IPMOpenContextPB IPMCloseContextPB;
-
- typedef SOMLargeStruct IPMCreateQueuePB; /* Derived from a struct of 40 bytes in size */
-
- /* For createqueue and deletequeue only queue and identity are used */
- typedef IPMCreateQueuePB IPMDeleteQueuePB;
-
- typedef SOMLargeStruct IPMOpenQueuePB; /* Derived from a struct of 62 bytes in size */
-
- typedef SOMLargeStruct IPMCloseQueuePB; /* Derived from a struct of 28 bytes in size */
-
- typedef SOMLargeStruct IPMEnumerateQueuePB; /* Derived from a struct of 56 bytes in size */
-
- typedef IPMEnumerateQueuePB IPMChangeQueueFilterPB;
-
- typedef SOMLargeStruct IPMDeleteMsgRangePB; /* Derived from a struct of 40 bytes in size */
-
- typedef SOMLargeStruct IPMOpenMsgPB; /* Derived from a struct of 46 bytes in size */
-
- typedef SOMLargeStruct IPMOpenHFSMsgPB; /* Derived from a struct of 46 bytes in size */
-
- typedef SOMLargeStruct IPMOpenBlockAsMsgPB; /* Derived from a struct of 52 bytes in size */
-
- typedef SOMLargeStruct IPMCloseMsgPB; /* Derived from a struct of 30 bytes in size */
-
- typedef SOMLargeStruct IPMGetMsgInfoPB; /* Derived from a struct of 32 bytes in size */
-
- typedef SOMLargeStruct IPMReadHeaderPB; /* Derived from a struct of 52 bytes in size */
-
- typedef SOMLargeStruct IPMReadRecipientPB; /* Derived from a struct of 56 bytes in size */
-
- /*
- replyQueue works like recipient. [can no longer read it via ReadHeader]
- OriginalIndex is meaningless, rcptFlags are used seperately and there are
- currently none defined.
- */
- typedef IPMReadRecipientPB IPMReadReplyQueuePB;
-
- typedef SOMLargeStruct IPMGetBlkIndexPB; /* Derived from a struct of 50 bytes in size */
-
- typedef SOMLargeStruct IPMReadMsgPB; /* Derived from a struct of 52 bytes in size */
-
- typedef SOMLargeStruct IPMVerifySignaturePB; /* Derived from a struct of 32 bytes in size */
-
- typedef SOMLargeStruct IPMNewMsgPB; /* Derived from a struct of 76 bytes in size */
-
- typedef SOMLargeStruct IPMNewHFSMsgPB; /* Derived from a struct of 76 bytes in size */
-
- typedef SOMLargeStruct IPMNestMsgPB; /* Derived from a struct of 60 bytes in size */
-
- typedef SOMLargeStruct IPMNewNestedMsgBlockPB; /* Derived from a struct of 76 bytes in size */
-
- typedef SOMLargeStruct IPMEndMsgPB; /* Derived from a struct of 72 bytes in size */
-
- typedef SOMLargeStruct IPMAddRecipientPB; /* Derived from a struct of 36 bytes in size */
-
- typedef SOMLargeStruct IPMAddReplyQueuePB; /* Derived from a struct of 36 bytes in size */
-
- typedef SOMLargeStruct IPMNewBlockPB; /* Derived from a struct of 60 bytes in size */
-
- typedef SOMLargeStruct IPMWriteMsgPB; /* Derived from a struct of 48 bytes in size */
-
- typedef SOMLargeStruct IPMParamBlock; /* Derived from a struct of 1446 bytes in size */
-
- /* Always synchronous */
- #endif
-
- #endif /* __SOMIDL__ */
-
- #endif /* __OCEMESSAGING_IDL__ */
-
-